package com.huahua.api.service;

import com.huahua.api.entity.utility.svg.param.SvgGenerateParam;
import com.huahua.api.entity.utility.svg.vo.SvgTemplateVO;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

import java.util.List;

/**
 * SVG绘图服务接口
 *
 * @author System
 * @date 2025-07-06
 */
public interface SvgDrawingService {

    /**
     * 获取所有SVG模板
     *
     * @return 模板列表
     */
    Mono<List<SvgTemplateVO>> getAllTemplates();

    /**
     * 生成SVG图片
     *
     * @param param 生成参数
     * @return 流式返回SVG内容
     */
    Flux<String> generateSvg(SvgGenerateParam param);
}